1. Field of the Invention
The invention generally relates to use of radiosity for obtaining more accurate illumination of scenes for measurement and graphics displays. This will improve shadow boundaries in displayed images. More specifically, the invention relates to using radiosity for indirect lighting and using a ray trace for direct lighting.
2. Description of the Related Art
Current radiosity solutions require an excessive amount of memory in order to obtain accurate lighting and acceptable shadow boundaries. This is because surfaces have to be subdivided extremely finely to get good results. In addition to excessive memory usage, these fine subdivisions require a substantial amount of vertices to be tested, necessitating significant additional computation time per radiosity shot.
One of the most common problems typically encountered with radiosity has been that in order to get decent looking shadows one needed to have very small element areas (or high levels of element subdivision). This, of course, greatly increases the processing time required.
Often the shadows cast by indirect illumination or bounced light are far less significant than those from the original light sources.
Traditionally, radiosity shadows look blocky, as shown in FIGS. 1-2, illustrating a conventional overview and a closeup of jagged shadows. This appearance can be avoided if the shadows are heavily meshed, as shown in FIG. 3, illustrating a closeup of jagged shadows after increased meshing. Unfortunately, obtaining an acceptable shadow utilizing radiosity can require a large amount of processing time.
On the other hand, ray traced shadows look very crisp, however, ray tracing alone does not account for indirect lighting. In scenes where indirect lighting is important, such as a floor lamp in a room, ray tracing is insufficient.
Thus, there remains a need for a system and method to provide acceptably crisp shadows for both direct and indirect illumination, requiring little processing capacity.
The invention provides for computing the radiosity solutions using a reduced degree of meshing (such as fewer polygons and subdivisions), thereby resulting in lower memory requirements and faster processing times; throwing away the illumination directly associated with the lights; and then adding ray traced illumination to the scene. The illumination and shadows due to direct lighting are improved because the illumination is computed on a pixel-by-pixel basis.
According to the invention, there is provided a method and system for determining lighting in a scene to be displayed on a graphics display. Radiosity is determined from at least one light source to at least one radiosity object in the scene, including determining an amount of illumination received corresponding to the at least one object. The amount of received illumination corresponding to the at least one object is substantially zeroed out, and the amount of light that needs to be shot from at least one surface of the at least one object is retained. The light to be shot from at least one surface of at least one object is determined. Direct illumination is determined, and determined direct illumination is added to the determined light.
According to one alternative, light to be shot from at least one object is calculated.
In one embodiment, an amount of illumination received on a surface or point on the surface of at least one object is determined; and the amount of received illumination for the surface or point on the surface of at least one object is substantially zeroed out.
There may be provided multiple light sources, and multiple objects.
The invention may further include the displayed scene.
These and other objects, features and advantages of the present invention are readily apparent from the following drawings and detailed description.